function GenericFormValidator()
{
	this.show_div_mensagem = function (mensagem)
	{
		jquery('#mensagem').html (mensagem);
		jquery('#caixa-mensagem').show("slow");
	};
	
	this.validate_form = function (form_name)
	{
		if(form_name != null || form_name != undefined)
		{
			var elements = jquery('#' + form_name + ' :input');
			
			var val = this;
			var submit = true;
			elements.each( function(index, element)
			{
				if(element.name)
				{
					var e = jquery('#' + element.name);
					
					if(e.attr('type') != 'hidden')
					{
						if(val.has_accept(e) && !e.val())
						{
							e.addClass('required');
							val.show_div_mensagem(e.attr('accept'));
							submit = false;
							return false;
						}
						else
						{
							e.addClass('ok');
						}
					}
				}
			});
			
			if(submit)
			{
				return jquery('#' + form_name).submit();
			}
		}
		else
		{
			return false;
		}
	};
	
	this.has_accept = function (element)
	{
		return (element.attr('accept') != '' ? true : false);
	};
};